package com.yuesystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuesystem.entity.CollectBlog;
import java.util.List;

/**
 * 收藏帖子接口.
 */
public interface CollectBlogService extends IService<CollectBlog> {
  /**
   * 判断当前用户是否收藏过该帖子.
   *
   * @param blogId 帖子id
   * @return 当前用户是否收藏过该帖子
   */
  Boolean judge(Long blogId);

  /**
   * 根据帖子id统计该帖子的收藏量.
   *
   * @param blogId 帖子id
   * @return 帖子收藏量
   */
  Long getCollectCount(Long blogId);

  /**
   * 取消收藏.
   *
   * @param blogId 帖子id
   */
  void cancel(Long blogId);

  /**
   * 添加收藏.
   *
   * @param blogId 帖子id
   */
  void add(Long blogId);

  /**
   * 根据用户id删除他的所有收藏帖子记录.
   *
   * @param userId 用户id
   */
  void deleteById(Long userId);

  /**
   * 根据blog的id删除所有和他有关的收藏.
   *
   * @param listBlog 帖子id列表
   */
  void deleteByBlog(List<Long> listBlog);

}
